INotifyPropertyChanged インターフェイスを実装する新しいクラス Sale を作成します。
C# |
コードのコピー
|
---|---|
public class Sale : INotifyPropertyChanged { private string _product; private double _value; private double _discount; public Sale(string product, double value, double discount) { Product = product; Value = value; Discount = discount; } public string Product { get { return _product; } set { if (_product != value) { _product = value; OnPropertyChanged("Product"); } } } public double Value { get { return _value; } set { if (_value != value) { _value = value; OnPropertyChanged("Value"); } } } public double Discount { get { return _discount; } set { if (_discount != value) { _discount = value; OnPropertyChanged("Discount"); } } } public event PropertyChangedEventHandler PropertyChanged; void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } |
このクラスは、Sale を定義するプロパティとして、Product、Value、および Discount を持ちます。
INotifyPropertyChanged を実装することで、連結プロパティが自動的に動的変更を反映するようになります。変更通知が必要な各プロパティに対しては、プロパティが更新されるたびに OnPropertyChanged を呼び出します。ObservableCollections は、既に INotifyPropertyChanged を継承していることに注意してください。